import '../../domain/order_item.dart';
import '../../domain/repositories/order_repository.dart';


/// `MockOrderRepository` 是 `OrderRepository` 接口的一个模拟实现，提供硬编码的示例数据。
///
/// 这个类模拟了从数据源获取订单数据的行为，但在当前的实现中，它只返回一个固定的订单列表。
/// 这对于在没有真实后端服务的情况下进行UI开发和测试非常有用。
///
/// - **依赖注入**: 在应用中，可以通过依赖注入（Dependency Injection）将这个模拟实现
///   提供给需要 `OrderRepository` 的地方，从而轻松地在模拟数据和真实数据之间切换。
class MockOrderRepository implements OrderRepository {
  @override
  Future<List<OrderItem>> getOrderHistory() async {
    // 模拟网络延迟，让加载过程更真实。
    await Future.delayed(const Duration(milliseconds: 500));

    // 为演示目的，返回一个硬编码的订单列表。
    // 在实际应用中，这里会是调用API或查询数据库的逻辑。
    return [
      OrderItem(
          id: '240815202505159001',
          date: DateTime.now(),
          type: '自营订单',
          amount: 39.00),
      OrderItem(
          id: '240815202505159021',
          date: DateTime.now(),
          type: '京东订单',
          amount: 1962.00),
      OrderItem(
          id: '1240815202505159032',
          date: DateTime.now(),
          type: '饿了么订单',
          amount: 30.00),
      OrderItem(
          id: '240815202505159034',
          date: DateTime.now(),
          type: '其他订单',
          amount: 39.00),
      OrderItem(
          id: '240815202505159037',
          date: DateTime.now(),
          type: '美团订单',
          amount: 36.00),
      OrderItem(
          id: '240815202505159040',
          date: DateTime.now(),
          type: '自营订单',
          amount: 33.00),
    ];
  }
}